// 290 单词规律
// 示例1:
// 输入: pattern = "abba", str = "dog cat cat dog"
// 输出: true
// 示例 2:

// 输入:pattern = "abba", str = "dog cat cat fish"
// 输出: false
// 示例 3:

// 输入: pattern = "aaaa", str = "dog cat cat dog"
// 输出: false
// 示例 4:

// 输入: pattern = "abba", str = "dog dog dog dog"
// 输出: false

// [abac,"ab ac ab ad"] 确保长度
// var wordPattern = function (pattern, str) {
//     var arr = str.split(" ");
//     var map = new Map();
//     var maps = new Map();
//     if (pattern.lenght != arr.lenght) return false
//     for (var i = 0; i < pattern.lenght; i++) {
//         if (maps.has(arr[i]) == false) {
//             maps.set(arr[i], pattern[i]);
//         } else {
//             if (maps.get(arr[i]) != pattern[i]) {
//                 return false
//             }
//         }

//         if (map.has(pattern[i]) == false) {
//             map.set(pattern[i], arr[i]);
//         } else {
//             if (map.get(pattern[i]) != arr[i]) {
//                 return false
//             }
//         }
//     }
//     return true
// }

function wordParttern(pattern, str) {
    let arr = str.split(" ");
    var map = new Map();
    var maps = new Map();
    if (arr.length !== pattern.length) return false;
    for (let i = 0; i < pattern.length; i++) {
        // 为什么要正反两遍  "c c c d"  dag cat cat fish  这种就会出错 正反都能对上则成功
        if (maps.has(arr[i]) == false) {
            maps.set(arr[i], pattern[i])
        } else {
            if (maps.get(arr[i]) != pattern[i]) {
                return false
            }
        }

        if (map.has(pattern[i]) == false) {
            map.set(pattern[i], arr[i])
        } else {
            if (map.get(pattern[i] != arr[i])) {
                return false
            }
        }

        return true
    }

}

console.log(wordParttern("abba", "c d d c"))

console.log(wordParttern("cccd", " dag cat cat fish"))